﻿using BPMN.Application.Contracts.DTO.Request.Routing;
using BPMN.Application.Contracts.DTO.Response;
using BPMN.Domain.Entity.Routing;
using BPMN.DomianShare;

namespace BPMN.Application.IService
{
    public interface IRoutingService : IAppServiceBase<Routings>, IScoped
    {
        Task<ResultResponseDto<int>> AddRouting(Routings dto);

        Task<ResultResponseDto<int>> UpdateRouting(Routings dto);

        Task<ResultResponseDto<RoutingDto>> GetRouting(int pageIndex, int pageSize, string code, string name);

        Task<ResultResponseDto<List<Routings>>> GetRoutings();

        Task<ResultResponseDto<Routings>> GetRoutingById(int id);

        Task<ResultResponseDto<int>> DeleleRouting(int id);

        Task<ResultResponseDto<int>> AddProcess(ProcessDto dto);

        Task<ResultResponseDto<List<ProcessDto>>> GetProcess(int id);
    }
}
